{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b9173b2d-3399-4ec2-ab35-7f01741af749",
   "metadata": {},
   "source": [
    "相关性热图"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dd836b6d-eef5-423c-943c-026830f281c2",
   "metadata": {},
   "source": [
    "相关性热图（Correlation Heatmap）用于展示数据集矩形矩阵中行列变量之间\n",
    "的相关性程度，每个格子中的颜色则表示对应变量相关性程度高低\r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "d3d8ec0e-d4ea-4f8f-b5b8-a7f49ed222c4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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iIiIXIZD3gMAAA0NDdDpdO2+XqFQICcnB/Pnz0dkZKSpLCIiwnSOl5cXACAgIAAhISFmbcTFxSEuLq7dMRARERGRnbjgXH1bcWgC0NDQ8MDz9Hp9i3USicT08N+cxgSjvYlGQUFBu64jIiIiInJWDksAlEolvL29H3ieWq1u9z0aH/xbk2gQERERkRPjGgCrcVgCsH379geeY+k38JmZmc2+WZiIiIiIOhYhXO+FXbZi9zcBExERERGR4zhsBICIiIiIqNW4CNhqOAJARERERORCOAJARERERM6Pi4CthiMAREREREQuhCMAREREROT8uAbAajgCQERERETkQjgCQERERETOz8j3AFgLEwAiIiIicn6cAmQ1nAJERERERORCOAJARERERM6P24BaDUcAiIiIiIhcCEcAiIiIiMj5cQ2A1TABsLOD4UscHYJNjTmX5ugQbGrV0DccHYLN9HJ0ADY2ZX/nHvCMc/N0dAg21UMIR4dgU2pJ532wma/tvH0DgDA3haNDsKksRwdANsEEgIiIiIicH9cAWE3n/kqMiIiIiIia4AgAERERETk/jgBYDRMAIiIiInJ6QvBNwNbCKUBERERERC6EIwBERERE5Pw4BchqOAJARERERORCOAJARERERM6PLwKzGo4AEBERERG5EI4AEBEREZHz4xoAq+EIABERERGRC+EIABERERE5P64BsBqHjQBkZmYiOTnZrHzfvn2YO3duk7JNmzYhNjYW5eXlbbpHWloawsLCcOHCBYtiJSIiIiIHMxptd7gYhyUAX375JfLz883Kz5w5g/fffx/Hjx83lWVlZWHHjh3w8vJq0z1qampw/vx5uLm5WRwvEREREVFn4LAEQCaTwdPT06w8ISEBXbt2RVZWFgCgsLAQhYWFSElJQc+ePdt0j8b225oAfPLJJxg8eDA8PT2hUCgwevRoFBUVtakNIiIiIrIiYbTd4WIctgZAIpE0eTA3Go2oqKiAn58ftm7dioiICOj1emRkZMDb2xuzZ89GTU0NtFotfHx8oFQqodfroVar4enpCZlM1uw9WmI0GqHT6VBfXw8fHx9T+V//+lf8/ve/h6enJ0aNGoXq6mocPnwYTz75JM6cOYM+ffpY9fdARERERGRPdk0ASkpKIISATCaDWq2GXq/HxYsXodFoEBwcjJCQkBavDQgIMH3euHEjZs2a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IiMjTWURERGmcxrf3BsQEICQkBCzNuLi4hAXF9ekLCkpCT179kR6ejo+/PBDBAQEYP78+XjjjTfQtWvXdsdLRERERBZwwbn6tuLQBKChoeGB5+n1+hbrJBKJ6eG/OY0JRlsTjeeeew7PPfdcm64hIiIiIuoIHJYAKJVKeHt7P/A8tVrd7ns0Pvi3JtEgIiIiIifmgvv124rDEoDt27c/8JyCggKL7pGZmdnsm4WJiIiIqIPhFCCrsfubgImIiIiIyHEcNgJARERERNRq3AbUajgCQERERETkQjgCQERERETOj2sArIYjAERERERELoQjAERERETk9AS3AbUajgAQEREREbkQjgAQERERkfPjGgCrYQJARERERM6PCYDVcAoQEREREZEL4QgAERERETk/vgjMajgCQERERETkQjgCQERERETOj2sArIYjAERERERELoQjAHb2dmUPR4dgU70cHYCNlQ2b7+gQbCasMNPRIdjUtkFvODoEm1J28m/GbnoaHB2CTV12kzs6BJv5VO3n6BBs6vnjDY4OwaZGOjqAHxGd/N85e+IIABERERGRC+EIABERERE5P44AWA0TACIiIiJyfkZuA2otnAJERERERORCOAJARERERM6PU4CshiMAREREREQuhCMAREREROT8OAJgNRwBICIiIiJyIRwBICIiIiKnJwRHAKyFIwBERERERC6EIwBERERE5Py4BsBqOAJARERERORCHJYAZGZmIjk52ax83759mDt3bpOyTZs2ITY2FuXl5W26R1paGsLCwnDhwgWLYiUiIiIiBzMK2x0uxmEJwJdffon8/Hyz8jNnzuD999/H8ePHTWVZWVnYsWMHvLy82nSPmpoanD9/Hm5ubhbHS0RERESOI4zCZoercVgCIJPJ4OnpaVaekJCArl27IisrCwBQWFiIwsJCpKSkoGfPnm26R2P7liYA48aNw5NPPmlRG0REREREzsBhi4AlEkmTB3Oj0YiKigr4+flh69atiIiIgF6vR0ZGBry9vTF79mzU1NRAq9XCx8cHSqUSer0earUanp6ekMlkzd6jJUajETqdDvX19fDx8WnxvI0bN6KgoABjx461rMNERERE1H4u+E29rdg1ASgpKYEQAjKZDGq1Gnq9HhcvXoRGo0FwcDBCQkJavDYgIMD0eePGjZg1axYOHz6McePGPfC+ffv2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/MKFC9DpdAgKCrIoXoBTgIiIiIioA7Dli8DCw8NbrDt37tx9r/3+++8BAIMGDTKrCwkJwe3bt1FdXQ2VStWqWB555BGEhobi7bffxsCBAzF27FhcvnwZs2fPhlQqRWxsbKvauR8mAERERERE7dS404+/v79Zna+vLwCgsrKy1QmAVCrFrl278PTTT+OZZ55p0tZHH32EJ554wuKYmQAQERERkdOz5QjAg77lvx9393uP0wqFwqxOJpMBANRqdZva/OSTT3D16lUAQGBgIKqrq3H79m1s2LABTz75JLp169bueAGuASAiIiIiarfGef9ardasTqfTAQAaGhpa3d7Zs2exZMkSPPbYY7h8+TKuX7+O//73v1iwYAH27NmDuLg4i2PmCAAREREROT8hcXQEzQoMDAQAVFRUmNX98MMPAICuXbu2ur1PPvkERqMRGzZsQN++fQEAXbp0wbp163DixAns2rULNTU1bWrzp5gA2NnK0TccHYJNTdnfuQeVnvfqvP3bNugNR4dgU78+k+roEGzqTtyLjg7BpgrP9XZ0CDZ13KP13w52NEt7de7/7tXdkjs6BHKw7t27o3fv3jh58qRZ3YkTJwAAAQEBrW7vu+++AwAMGDDArO7hhx/GkSNH8N1331mUAHTepxkiIiIi6jScdRtQAJg4cSIOHTqE8+fPm8rq6+vx6aefIiwsrNkFwi1pPLe8vNysrri4GABavaC4JUwAiIiIiIgs8Oqrr0IqleKFF17AtWvXoNVq8fLLL6OyshIzZsxoU1uPPPIIAOD1119HTU0NgHvrC1asWIHCwkIMHjy4TSMKzeEUICIiIiJyesLonGsAACAiIgJr167FggULEBwcDA8PD9TX12P48OFYtGiR6bylS5fCz88PycnJLbY1depUDBkyBJ999hn+9a9/oXv37rh58yZ0Oh2kUinWrFljcbwcASAiIiIip+fMU4AAICkpCQcPHsS0adMwfPhwpKam4tChQ6atQAFg5cqVyM7Ovm87MpkM+/fvx8KFCxEcHIybN29CLpdjzJgx2LNnD5566imLY+UIABERERGRFTzxxBP3fVGXEKJV7fj4+GDNmjVW+ba/OUwAiIiIiMjpCSfdBrQj4hQgIiIiIiIXwhEAIiIiInJ61pqrTxwBICIiIiJyKRwBICIiIiKn58zbgHY0HAEgIiIiInIhHAEg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//73cHNza3e8RERERETOwKEJQENDwwPP0+v1LdZJJBLTw39zGhOMtiQavXv3xocfftjq84mIiIjI9oRwdASdh8MSAKVSCW9v7weep1ar232Pxgf/1iQaREREROS8OAXIehyWAGzfvv2B5xQUFFh0j8zMzGbfLExERERE5KoclgAQEREREbWWK76wy1bs+iZgIiIiIiJyLI4AEBEREZHT44vArIcjAERERERELoQjAERERETk9LgNqPVwBICIiIiIyIVwBICIiIiInB53AbIejgAQEREREbkQjgAQERERkdPjLkDWwwSAiIiIiJweFwFbD6cAERERERG5EI4AEBEREZHT4yJg6+EIABERERGRC+EIgJ2d3evn6BBsKs7N09Eh2JRWW+PoEGxGaezckyvvxL3o6BBsyid3o6NDsKmDEQmODsGm/uYtc3QINnP8Sk9Hh2BTUS/pHB2Cy+AiYOvhCAARERERkQvhCAAREREROT2uAbAejgAQEREREbkQjgAQERERkdPr3CvV7IsJABERERE5PU4Bsh5OASIiIiIiciEcASAiIiIip8dtQK2HIwBERERERC6EIwBERERE5PSMjg6gE+EIABERERGRC+EIABERERE5PQGuAbAWjgAQEREREbkQhyUAmZmZSE5ONivft28f5s6d26Rs06ZNiI2NRXl5eZvukZaWhrCwMFy4cMGiWImIiIjIsYzCdoercVgC8OWXXyI/P9+s/MyZM3j//fdx/PhxU1lWVhZ27NgBLy+vNt2jpqYG58+fh5ubm8XxEhEREZHjGCGx2eFqHJYAyGQyeHp6mpUnJCSga9euyMrKAgAUFhaisLAQKSkp6NmzZ5vu0dh+exMAg8GAwYMHw8/PDzdu3GhXG0REREREzsRhi4AlEkmTB3Oj0YiKigr4+flh69atiIiIgF6vR0ZGBry9vTF79mzU1NRAq9XCx8cHSqUSer0earUanp6ekMlkzd6jJUajETqdDvX19fDx8Wn2nMzMTBQXFyMrKwvdu3e3vNNERERE1C5cBGw9dk0ASkpKIISATCaDWq2GXq/HxYsXodFoEBwcjJCQkBavDQgIMH3euHEjZs2ahcOHD2PcuHEPvG/fvn1brPP19UVNTY1Z+bVr1/Dmm2/i0UcfNVuTQERERETUUdk1AZg8ebLZQt7Q0FAAwI0bN7Br1y4olUrTyMC8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/iZgIiIiIiJyHIeNABARERERtRanAFkPRwCIiIiIiFwIRwCIiIiIyOnxRWDWwxEAIiIiIiIXwhEAIiIiInJ6Ru4CZDUcASAiIiIiciEcASAiIiIip8c1ANbDBICIiIiInB6nAFkPpwAREREREbkQjgAQERERkdPjFCDr4QgAEREREZEL4QgAERERETk9rgGwHiYAdlbf0Ll/5WFuCkeHYFOqAVWODsFmnj/e4OgQbKrultzRIdhU1Es6R4dgU8+t+drRIdjUv/xGOzoEm/nb4GWODsGmEk6tcHQIRG3WuZ9GiYiIiKhT4BoA6+EaACIiIiIiF8IRACIiIiJyelwDYD1MAIiIiIjI6XEKkPVwChARERERkQvhCAAREREROT0hjI4OodPgCAARERERkQvhCAAREREROT0j1wBYDUcAiIiIiIhcCEcAiIiIiMjpCW4DajUcASAiIiIiciEcASAiIiIip8c1ANZj9RGAzMxMJCcnm5Xv27cPc+fObVK2adMmxMbGory8vE33SEtLQ1hYGC5cuGBRrERERETUMQghbHa4GqsnAF9++SXy8/PNys+cOYP3338fx48fN5VlZWVhx44d8PLyatM9ampqcP78ebi5uVkcLxERERGRK7F6AiCTyeDp6WlWnpCQgK5duyIrKwsAUFhYiMLCQqSkpKBnz55tukdj++1NAFasWIE+ffq0WK/VavH666+jT58+UCqVmDJlCiorK9t1LyIiIiKynFEImx2uxuoJgEQiafJgbjQacfnyZeh0OmzduhXr1q2DXq9HRkYGvL29MXv2bNTU1KCqqgpqtRoAoNfrcefOHTQ0NLR4j5YYjUbU19fjzp07zdbv3LkTf/rTn1q8XgiB5557Dm+//TYCAwPx8ssv4+TJk5gwYUKL8RARERERdRRWWQRcUlICIQRkMhnUajX0ej0uXrwIjUaD4OBghISEtHhtQECA6fPGjRsxa9YsHD58GOPGjXvgffv27dtina+vL2pqapqUffzxx4iNjYXR2PKrpDdv3ozPP/8c06ZNw8cffwyJRIL58+dj4MCBWL9+PVJSUh4YFxERERFZl+AiYKuxSgIwefJks4W8oaGhAIAbN25g165dUCqVppGBefPmQaPRYMOGDQAAg8EAnU6HAQMGAABCQkKQnp4OT09PyGQy0zf+DQ0NSEpKgsFgMN0nOjoaMTEx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c+fO3ffaxp1+/P39zep8fX0BAJWVlVCpVK2KpfGFuMXFxZg4cSKefvppnD59Gn/729+wd+9eFBcXm9ptL44AEBERERG1k7v7ve/TFQqFWZ1MJgPQtu3v6+rqMGrUKBQUFGDHjh1IT0/H3r17sXr1alRUVODvf/+75TFb3AIRERERkY3ZchegB33Lfz+N8/61Wq1ZXXveXfXMM8/gmWeeMSt/7bXXkJ6ejs2bN+O1115rZ7T3cASAiIiIiKidAgMDAQAVFRVmdT/88AMAoGvXrhbfx83NDf369UN5ebnFbTEBICIiIiKnJ4Sw2WGJ7t27o3fv3qa9+3/sxIkTAICAgIBWt6fT6XDt2rVm66qrq5sdaWgrJgBERERE5PScNQEAgIkTJ+LQoUM4f/68qay+vh6ffvopwsLCml0g3JKxY8diypQpZuXl5eW4cOECHn74YYvjZQJARERERGSBV199FVKpFC+88AKuXbsGrVaLl19+GZWVlZgxY0ab2nr66adx8uRJ5OXlmcpqa2sRHx8PAJg5c6bF8TIBICIiIiKnJ2x4WCoiIgJr165FcXExgoOD0bVrV3zwwQcYPnw4Fi1aZDpv6dKlWLt27X3bWrBgAYKCghAXF4cRI0bgl7/8JYKCgnDw4EFERUXh1VdftTheJgBERERERBZKSkrCwYMHMW3aNAwfPhypqak4dOiQaStQAFi5ciWys7Pv246fnx+OHj2KGTNmoLy8HIcPH0ZoaCjeffdd7Ny507TtqCUkwpZvVSCHanyphSVbWzkz9q/j6sx9A9i/jo7967g6c9+Azt8/sh+OABARERERuRAmAERERERELoQJABERERGRC2ECQERERETkQpgAEBERERG5ECYAREREREQuhNuAEhERERG5EI4AEBERERG5ECYAREREREQuhAkAEREREZELYQJARERERORCmAAQEREREbkQJgBERERERC6ECQARERERkQthAkBERERE5EKYABARERERuRB3RwdARK4tJycHmzZtwldffeXoUKgVvvvuO2zduhUXL16ETCZDeHg4Jk+ejB49ejg6tFb78MMP0aNHD/zyl790dCgOc+fOHXz33XdQqVTw9/d3dDhEZGccASCn9u2332LBggUYO3YsnnrqKbzxxhuoqKho8fw33ngD7u4dJ6+tr6/H2rVrMXXqVMyYMQObN2821RUU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",
      "text/plain": [
       "<Figure size 900x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import matplotx\n",
    "import pandas as pd\n",
    "plt.rcParams['font.sans-serif'] = 'SimHei'\n",
    "gene = pd.read_csv('./seaborn数据集/heatmap.csv',header=0,index_col=0)\n",
    "plt.figure(figsize=(6,4),dpi=150)\n",
    "\n",
    "sns.heatmap(\n",
    "    data=gene.corr()  # corr函数生成相关矩阵\n",
    ")\n",
    "plt.xticks(rotation=90)  # x轴标签旋转\n",
    "plt.yticks(rotation=0)   # y轴标签旋转\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "4b86d4a2-b2ee-4aed-a033-8a0218cac994",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from string import ascii_letters\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotx\n",
    "import seaborn as sns\n",
    "\n",
    "# 使用随机种子设置\n",
    "rs = np.random.RandomState(33)\n",
    "\n",
    "# 创建一个dataframe，包含100行和26列的随机数据\n",
    "# 数据是从均值为0，标准差为1的正态分布中生成的\n",
    "d = pd.DataFrame(data=rs.normal(size=(100,26)),columns=list(ascii_letters[26:]))\n",
    "\n",
    "# 计算相关性矩阵\n",
    "# 设置seaborn主题样式为白色背景\n",
    "sns.set_theme(style=\"white\")\n",
    "corr = d.corr()\n",
    "plt.rcParams['font.sans-serif'] = \"SimHei\"\n",
    "plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题\n",
    "\n",
    "with plt.style.context(matplotx.styles.pitaya_smoothie['light']):\n",
    "    # 生成一个上三角区域的掩码\n",
    "    mask = np.triu(np.ones_like(corr,dtype=bool))\n",
    "    plt.figure(figure=(10,10),dpi=100)\n",
    "    # 生成一个自定义的调色板\n",
    "    cmap = sns.diverging_palette(230,20,as_cmap=True) # 230 20 这些都是颜色的数值\n",
    "    # 使用掩码和正确的纵横比绘制热图\n",
    "    sns.heatmap(corr,mask=mask,cmap=cmap,vmax=.3,center=0,square=True,\n",
    "                linewidth=.5,cbar_kws={\"shrink\":.5})\n",
    "\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
